# 使用自定义基础镜像（包含时区设置和常用工具）
FROM opsx-registry.cn-hangzhou.cr.aliyuncs.com/base/eclipse-17-jre

USER root

# 添加应用JAR包到容器中
COPY target/demo.jar /app/app.jar

# 设置默认Java参数
ENV DEFAULT_JAVA_OPTS="-XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+HeapDumpOnOutOfMemoryError"
ENV DEFAULT_JAVA_HEAP_OPTS="-Xms512m -Xmx1g"
ENV JAVA_OPTS=""
ENV JAVA_HEAP_OPTS=""

# 暴露应用端口
EXPOSE 9080

# 设置容器启动命令 - 使用exec格式以便正确处理信号
ENTRYPOINT exec java ${DEFAULT_JAVA_OPTS} ${DEFAULT_JAVA_HEAP_OPTS} ${JAVA_HEAP_OPTS} ${JAVA_OPTS} -jar /app/app.jar

# 构建命令示例：
# docker build -t demo-springboot:latest .
# 运行命令示例：
# docker run -d -p 9080:9080 demo-springboot:latest
